package com.crm.system.service.contractReviewManager;

import com.crm.common.model.DhPageInfo;
import com.crm.model.qo.contractReviewManager.ContractReviewFormQO;
import com.crm.model.qo.contractReviewManager.ContractReviewQO;
import com.crm.model.vo.contractReviewManager.*;
import com.github.pagehelper.PageInfo;

import java.text.ParseException;
import java.util.List;

/**
 * @author luojie
 * @date 2021/3/30 11:25
 * (客服部)审核管理--合同审核
 */
public interface ContractReviewService {

    /**
     *审核管理--合同审核列表
     * @param contractReviewFormQO   ---合同审核列表查询参数
     * @param pageIndex/ pageSize    ---页码、分页大小
     * @param sortName/sortOrder     ---排序字段及规则
     * @author yincuimei
     * @return
     */
    DhPageInfo<ContractReviewFormVO> selectContractReviewFormVOList(ContractReviewFormQO contractReviewFormQO,Integer pageIndex,Integer pageSize,String sortName,String sortOrder);

    /**
     * 合同详情--审核详情(最新审核记录)
     * @param contractId ---合同ID
     * @author yincuimei
     * @return
     */
    ContractReviewVO selectContractReviewFinally(String contractId);


    /***
     * @Description:根据合同id获取合同审核信息
     * @Param:  * @param contractId 合同id
     * @Author: luojie
     * @Date: 2021/3/30 14:37
     */
    ContractReviewDetailVO getContractReviewDetail(String contractId);

    /***
     * @Description:新增合同审批
     * @Param:  * @param contractReviewQO 合同审批对象
     * @Author: luojie
     * @Date: 2021/3/31 10:44
     */
    Boolean addContractReview(ContractReviewQO contractReviewQO);

    /***
     * @Description: 根据合同id获取合同审核结果List
     * @Param: contractId 合同id
     * @Author: luojie
     * @Date: 2021/3/31 11:44
     */
    DhPageInfo<ContractReviewResultListVO> getContractReviewResultList(String contractId, Integer pageIndex, Integer pageSize);

    /***
     * @Description: 查询客户下的优惠券
     * @Param: customerId 客户id
     * @Author: baijian
     * @Date: 2021/11/15 10:54
     */
    DhPageInfo<ContractCouponVO> contractCouponList(String customerId,Integer pageIndex,Integer pageSize,String sortName,String sortOrder);

    /**
     * 使用优惠券
     */
    Boolean couponUse(String couponId,String couponCode);
}
